initial commit
[AXOD IR_433MHz Shield] / FIRMWARE / beep.c
1 #define BEEP_LEN                500
2 #define BEEP_REPEAT_PAUSE       10
3
4 uint8_t beeper_mask;
5 uint8_t beeper_mask_clock = 0;
6
7 void beep_handler( void ){
8
9         static uint8_t  beeper_cnt = 0;
10         static uint16_t beeper_mask_cnt = 0;
11
12         if ( beeper_cnt++ % 4 == 0 && beeper_mask != 0 ){ 
13
14                 if( beeper_mask_cnt++ < BEEP_LEN ) { // 0.1s in periods of timer 
15                         if(beeper_mask & 1) output_toggle(PORTA, BEEP); else output_low(PORTA, BEEP);  
16                 } else {
17                         output_low(PORTA, BEEP);
18                         beeper_mask_cnt = 0;
19                         beeper_mask >>= 1;
20                 }
21         }
22 }
Contact me: dev (at) shalnoff (dot) com
PGP fingerprint: A6B8 3B23 6013 F18A 0C71 198B 83D8 C64D 917A 5717